package com.hanxing.kxcharge.module.operations.controller.admin.station.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.hanxing.kxcharge.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.hanxing.kxcharge.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 站点信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StationPageReqVO extends PageParam {

    @Schema(description = "运营商id", example = "3542")
    private Long orgId;

    @Schema(description = "电站名称", example = "王五")
    private String stationName;

    @Schema(description = "国家code")
    private Long countryCode;

    @Schema(description = "省code")
    private String provinceCode;

    @Schema(description = "市code")
    private String cityCode;

    @Schema(description = "区code")
    private String areaCode;

    @Schema(description = "镇级code")
    private String townCode;

    @Schema(description = "省市区中文名", example = "芋艿")
    private String areaCodeName;

    @Schema(description = "地址")
    private String address;

    @Schema(description = "服务电话")
    private String serviceTel;

    @Schema(description = "电站类型", example = "2")
    private Boolean stationType;

    @Schema(description = "电站状态", example = "2")
    private Boolean stationStatus;

    @Schema(description = "经度")
    private BigDecimal stationLng;

    @Schema(description = "纬度")
    private BigDecimal stationLat;

    @Schema(description = "建设场所")
    private Boolean construction;

    @Schema(description = "电站位置（地上、地下）")
    private Boolean stationAddress;

    @Schema(description = "可用电容")
    private String capacitance;

    @Schema(description = "分润设置", example = "2")
    private String shareType;

    @Schema(description = "是否收取占用费")
    private Boolean isOccupationCost;

    @Schema(description = "停车免费时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String parkBufferTime;

    @Schema(description = "超额费用")
    private BigDecimal overtimeMoney;

    @Schema(description = "超额min")
    private String overtimeMin;

    @Schema(description = "单次扣款限额")
    private BigDecimal singleDeductionLimit;

    @Schema(description = "道闸")
    private Boolean isBrake;

    @Schema(description = "停车说明")
    private String parkExplain;

    @Schema(description = "站点描述")
    private String stationDescribe;

    @Schema(description = "站点服务设施")
    private Integer serviceSetup;

    @Schema(description = "周边基础设施")
    private Integer baseSetup;

    @Schema(description = "开放说明时间")
    private String openExplain;

    @Schema(description = "主入口图")
    private String imgMainEntrance;

    @Schema(description = "标志路劲")
    private String imgFlagPath;

    @Schema(description = "电站全景")
    private String imgFullView;

    @Schema(description = "电站特写")
    private String imgPilesFeature;

    @Schema(description = "其他图片")
    private String imgOther;

    @Schema(description = "资质")
    private String qualification;

    @Schema(description = "备注说明")
    private String remarks;

    @Schema(description = "是否启用电站")
    private Boolean isEnableStart;

    @Schema(description = "客服电话")
    private String hotLine;

    @Schema(description = "站点code")
    private String stationCode;

    @Schema(description = "总电量")
    private BigDecimal sumPower;

    @Schema(description = "站点服务设施")
    private Integer stationServiceSets;

    @Schema(description = "单价关联id", example = "8778")
    private Long costTemplateId;

    @Schema(description = "场地属性")
    private Boolean property;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "设备所属id", example = "17101")
    private String equipmentOwnerId;

}
